EN
注册

介绍

简要介绍

OVS(Open vSwitch)是一个基于Apache 2.0开源协议的多层软件交换机,致力于提供一个生产级质量的交换平台。OVS支持标准管理接口,并开放前向函数,以实现程序扩展和控制。由于OVS基于多种平台底座存在多种变体,本文以基础版本作为介绍对象。

图1 OVS架构

OVS软件主要的架构由内核态的Datapath和用户态的vswitchd、ovsdb组成。

  • Datapath是负责数据交换的内核模块,从网口读取数据,快速匹配FlowTable中的流表项,成功的直接转发,失败的上交vswitchd进程进行处理。在OVS初始化和port binding时注册钩子函数,把端口的报文处理接管到内核模块。
  • vswitchd是负责OVS管理和控制的守护进程,通过Unix Socket将配置信息保存到ovsdb中,并通过Netlink和内核模块进行交互。
  • ovsdb是OVS数据库,保存了OVS的配置信息。

此外,OVS发布包中还包含了一系列管理工具(ovs-vsctl、ovs-dpctl、ovs-ofctl、ovs-appctl、ovs-docker等),方便用户对OVS进行配置和使用。

OVS在虚拟机和容器等场景中作为虚拟交换机做了很好的适配,除了对外暴露了虚拟网络层的标准控制接口和可视化接口之外,它也提供了跨多物理节点的分布式支持,在多种 虚拟化 和容器技术中均进行了支持。

当前OVS支持以下特性:

  • 具有中继端口和接入端口的标准802.1Q VLAN模型。
  • 支持在上游交换机选择是否使用LACP进行网卡组bond。
  • 支持NetFlow、sFlow(R)和镜像,以提高可见性。
  • 支持QoS(服务质量)配置和看管。
  • 支持Geneve、GRE、VXLAN、STT和LISP隧道。
  • 支持802.1ag连通性故障管理。
  • 支持OpenFlow 1.0及多种扩展。
  • 支持C语言和Python绑定的事务配置数据库。
  • 使用Linux内核模块实现高性能转发。

其中Linux内核模块支持需要Linux内核版本高于3.10,此外,OVS还可以无需内核模块支持,完全以 用户态 模式运行,例如使用DPDK模式等,该内容在本文中对此内容不做详细介绍。

安装OVS软件需采用源码编译方式进行安装。

建议的版本

建议使用的版本为“2.12.0”。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词